﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.ObjectModel;
using System.Collections.Generic;

namespace MessageWorkflow
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1032:ImplementStandardExceptionConstructors",
        Justification = "This class is not supposed to handle 1 single exception")]
    public sealed class AggregateException : Exception
    {
        public AggregateException()
            : this(null)
        {
        }

        public AggregateException(string message)
            : this(message, null)
        {
        }

        public AggregateException(string message, IEnumerable<Exception> innerExceptions)
            : base(message)
        {
            InnerExceptions = new ReadOnlyCollection<Exception>(new List<Exception>(innerExceptions));
        }

        public ReadOnlyCollection<Exception> InnerExceptions { get; private set; }
    }
}
